package com.qingzhuge.pay.service;

import com.github.binarywang.wxpay.bean.notify.WxPayOrderNotifyResult;
import com.github.binarywang.wxpay.bean.notify.WxPayRefundNotifyResult;
import com.github.binarywang.wxpay.bean.notify.WxScanPayNotifyResult;
import com.github.binarywang.wxpay.bean.result.WxPayOrderCloseResult;
import com.qingzhuge.pay.dto.PayRefundDto;
import com.qingzhuge.pay.vo.PayOrderRefund;

/**
 * @author : zero.xiao
 * @description : 支付回调、关闭订单、退款等接口，自己实现业务
 * @date :2019-04-28 09:32
 * @modified :
 */
public interface IPayCallbackService {
    /**
     * <pre>支付回调通知处理</pre>
     */
    boolean parseOrderNotifyResult(WxPayOrderNotifyResult result);

    /**
     * <pre>退款回调通知处理</pre>
     */
    boolean parseRefundNotifyResult(WxPayRefundNotifyResult result);

    /**
     * <pre>扫码支付回调通知处理</pre>
     */
    boolean parseScanPayNotifyResult(WxScanPayNotifyResult result);
    /**
     * <pre>关闭订单回调函数处理</pre>
     */
    boolean parseCloseOrderResult(WxPayOrderCloseResult result,Long orderId);
    /**
     * 退款
     */
    PayOrderRefund refund(PayRefundDto refundDto);
}
